using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("MobileFriendListItem")]
	public class MobileFriendListItem : MonoBehaviour
	{
		public enum TypeFlags
		{
			Header = 1,
			Friend = 2,
			CurrentGame = 4,
			NearbyPlayer = 8,
			FiresideGatheringFooter = 0x10,
			FiresideGatheringPlayer = 0x20,
			CurrentFiresideGathering = 0x40,
			Request = 0x80,
			FoundFiresideGathering = 0x100
		}

		public Bounds m_localBounds => method_2<Bounds>("m_localBounds");

		public GameObject m_showObject => method_3<GameObject>("m_showObject");

		public TypeFlags Type => method_11<TypeFlags>("get_Type", Array.Empty<object>());

		public Bounds LocalBounds => method_11<Bounds>("get_LocalBounds", Array.Empty<object>());

		public bool Selectable => method_11<bool>("get_Selectable", Array.Empty<object>());

		public bool IsHeader => method_11<bool>("get_IsHeader", Array.Empty<object>());

		public bool Visible => method_11<bool>("get_Visible", Array.Empty<object>());

		public MobileFriendListItem(IntPtr address, string className)
			: base(address, className)
		{
		}

		public MobileFriendListItem(IntPtr address)
			: this(address, "MobileFriendListItem")
		{
		}

		public void SetShowObject(GameObject showobj)
		{
			method_8("SetShowObject", showobj);
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public bool IsSelected()
		{
			return method_11<bool>("IsSelected", Array.Empty<object>());
		}

		public void Selected()
		{
			method_8("Selected");
		}

		public void Unselected()
		{
			method_8("Unselected");
		}

		public Bounds ComputeWorldBounds()
		{
			return method_11<Bounds>("ComputeWorldBounds", Array.Empty<object>());
		}
	}
}
